// 解构出创建vuex仓库的函数
import { createStore } from 'vuex'

import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'
// 同步本地存储的包
import createPersistedstate from 'vuex-persistedstate'

// 默认导出vuex实例
export default createStore({
  state: {
    // state是存放数据的
  },
  mutations: {
    // mutations是 修改state的数据函数
  },
  actions: {
    // actions 是执行异步函数的
  },
  modules: {
    // 模块化
    category,
    cart,
    user
  },
  getters: {
    // vuex的计算属性
  },
  plugins: [
    // 这个是将user和cart的数据同步到本地存储,增加持久性
    createPersistedstate({
      key: 'erabbit-client-pc-store',
      paths: ['user', 'cart']
    })
  ]
})
